package com.bitoon.basketdudes.jpa;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 * @author Paco FELC 2011
 */
@Entity
@Table(name = "est_jugador_partido",  schema = "basket")
@NamedQueries({
    @NamedQuery(name = "EstJugadorPartido.findAll", query = "SELECT e FROM EstJugadorPartido e"),
    @NamedQuery(name = "EstJugadorPartido.findByPartidoId", query = "SELECT e FROM EstJugadorPartido e WHERE e.estJugadorPartidoPK.partidoId = :partidoId"),
    @NamedQuery(name = "EstJugadorPartido.findByJugadorId", query = "SELECT e FROM EstJugadorPartido e WHERE e.estJugadorPartidoPK.jugadorId = :jugadorId")
    })
public class EstJugadorPartido implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected EstJugadorPartidoPK estJugadorPartidoPK;
    @Basic(optional = false)
    @Column(name = "minutos")
    private float minutos;
    @Basic(optional = false)
    @Column(name = "puntos")
    private int puntos;
    @Basic(optional = false)
    @Column(name = "tiro1")
    private int tiro1;
    @Basic(optional = false)
    @Column(name = "pto1")
    private int pto1;
    @Basic(optional = false)
    @Column(name = "tiro2")
    private int tiro2;
    @Basic(optional = false)
    @Column(name = "pto2")
    private int pto2;
    @Basic(optional = false)
    @Column(name = "tiro3")
    private int tiro3;
    @Basic(optional = false)
    @Column(name = "pto3")
    private int pto3;
    @Basic(optional = false)
    @Column(name = "rebotes_ataque")
    private int rebotesAtaque;
    @Basic(optional = false)
    @Column(name = "rebotes_defensa")
    private int rebotesDefensa;
    @Basic(optional = false)
    @Column(name = "asistencias")
    private int asistencias;
    @Basic(optional = false)
    @Column(name = "robos")
    private int robos;
    @Basic(optional = false)
    @Column(name = "perdidas")
    private int perdidas;
    @Basic(optional = false)
    @Column(name = "tapones")
    private int tapones;
    @Basic(optional = false)
    @Column(name = "tapones_contra")
    private int taponesContra;
    @Basic(optional = false)
    @Column(name = "faltas")
    private int faltas;
    @Basic(optional = false)
    @Column(name = "faltas_contra")
    private int faltasContra;
    @Basic(optional = false)
    @Column(name = "valoracion")
    private int valoracion;
    @Basic(optional = false)
    @Column(name = "experiencia")
    private int experiencia;
    @Basic(optional = true)
    @Column(name = "equipo_id")
    private int equipo_id;

    public EstJugadorPartido() {
    }

    public EstJugadorPartido(EstJugadorPartidoPK estJugadorPartidoPK) {
        this.estJugadorPartidoPK = estJugadorPartidoPK;
    }

    public EstJugadorPartido(EstJugadorPartidoPK estJugadorPartidoPK, float minutos, int puntos, int tiro1, int pto1, int tiro2, int pto2, int tiro3, int pto3, int rebotesAtaque, int rebotesDefensa, int asistencias, int robos, int perdidas, int tapones, int taponesContra, int faltas, int faltasContra, int valoracion, int experiencia) {
        this.estJugadorPartidoPK = estJugadorPartidoPK;
        this.minutos = minutos;
        this.puntos = puntos;
        this.tiro1 = tiro1;
        this.pto1 = pto1;
        this.tiro2 = tiro2;
        this.pto2 = pto2;
        this.tiro3 = tiro3;
        this.pto3 = pto3;
        this.rebotesAtaque = rebotesAtaque;
        this.rebotesDefensa = rebotesDefensa;
        this.asistencias = asistencias;
        this.robos = robos;
        this.perdidas = perdidas;
        this.tapones = tapones;
        this.taponesContra = taponesContra;
        this.faltas = faltas;
        this.faltasContra = faltasContra;
        this.valoracion = valoracion;
        this.experiencia = experiencia;
    }

    public EstJugadorPartido(int partidoId, int jugadorId) {
        this.estJugadorPartidoPK = new EstJugadorPartidoPK(partidoId, jugadorId);
    }

    public EstJugadorPartidoPK getEstJugadorPartidoPK() {
        return estJugadorPartidoPK;
    }

    public void setEstJugadorPartidoPK(EstJugadorPartidoPK estJugadorPartidoPK) {
        this.estJugadorPartidoPK = estJugadorPartidoPK;
    }

    public float getMinutos() {
        return minutos;
    }

    public void setMinutos(float minutos) {
        this.minutos = minutos;
    }

    public int getPuntos() {
        return puntos;
    }

    public void setPuntos(int puntos) {
        this.puntos = puntos;
    }

    public int getTiro1() {
        return tiro1;
    }

    public void setTiro1(int tiro1) {
        this.tiro1 = tiro1;
    }

    public int getPto1() {
        return pto1;
    }

    public void setPto1(int pto1) {
        this.pto1 = pto1;
    }

    public int getTiro2() {
        return tiro2;
    }

    public void setTiro2(int tiro2) {
        this.tiro2 = tiro2;
    }

    public int getPto2() {
        return pto2;
    }

    public void setPto2(int pto2) {
        this.pto2 = pto2;
    }

    public int getTiro3() {
        return tiro3;
    }

    public void setTiro3(int tiro3) {
        this.tiro3 = tiro3;
    }

    public int getPto3() {
        return pto3;
    }

    public void setPto3(int pto3) {
        this.pto3 = pto3;
    }

    public int getRebotesAtaque() {
        return rebotesAtaque;
    }

    public void setRebotesAtaque(int rebotesAtaque) {
        this.rebotesAtaque = rebotesAtaque;
    }

    public int getRebotesDefensa() {
        return rebotesDefensa;
    }

    public void setRebotesDefensa(int rebotesDefensa) {
        this.rebotesDefensa = rebotesDefensa;
    }

    public int getAsistencias() {
        return asistencias;
    }

    public void setAsistencias(int asistencias) {
        this.asistencias = asistencias;
    }

    public int getRobos() {
        return robos;
    }

    public void setRobos(int robos) {
        this.robos = robos;
    }

    public int getPerdidas() {
        return perdidas;
    }

    public void setPerdidas(int perdidas) {
        this.perdidas = perdidas;
    }

    public int getTapones() {
        return tapones;
    }

    public void setTapones(int tapones) {
        this.tapones = tapones;
    }

    public int getTaponesContra() {
        return taponesContra;
    }

    public void setTaponesContra(int taponesContra) {
        this.taponesContra = taponesContra;
    }

    public int getFaltas() {
        return faltas;
    }

    public void setFaltas(int faltas) {
        this.faltas = faltas;
    }

    public int getFaltasContra() {
        return faltasContra;
    }

    public void setFaltasContra(int faltasContra) {
        this.faltasContra = faltasContra;
    }

    public int getValoracion() {
        return valoracion;
    }

    public void setValoracion(int valoracion) {
        this.valoracion = valoracion;
    }

    public int getExperiencia() {
        return experiencia;
    }

    public void setExperiencia(int experiencia) {
        this.experiencia = experiencia;
    }

    public int getEquipoId() {
        return equipo_id;
    }

    public void setEquipoId(int valor) {
        this.equipo_id = valor;
    }


    @Override
    public int hashCode() {
        int hash = 0;
        hash += (estJugadorPartidoPK != null ? estJugadorPartidoPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof EstJugadorPartido)) {
            return false;
        }
        EstJugadorPartido other = (EstJugadorPartido) object;
        if ((this.estJugadorPartidoPK == null && other.estJugadorPartidoPK != null) || (this.estJugadorPartidoPK != null && !this.estJugadorPartidoPK.equals(other.estJugadorPartidoPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.bitoon.basketdudes.jpa.EstJugadorPartido[estJugadorPartidoPK=" + estJugadorPartidoPK + "]";
    }

}
